#!/bin/bash

# SSH远程控制工具安装脚本

set -e

echo "=== SSH远程控制工具安装脚本 ==="
echo

# 检查是否为Ubuntu系统
if ! command -v apt &> /dev/null; then
    echo "错误: 此脚本仅支持Ubuntu系统"
    exit 1
fi

# 检查Python版本
if ! command -v python3 &> /dev/null; then
    echo "错误: 未找到Python3，请先安装Python3"
    exit 1
fi

PYTHON_VERSION=$(python3 -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
echo "检测到Python版本: $PYTHON_VERSION"

# 安装系统依赖
echo "正在安装系统依赖..."
sudo apt update
sudo apt install -y openssh-client openssh-server python3-pip curl

# 确保SSH服务运行
echo "正在启动SSH服务..."
sudo systemctl enable ssh
sudo systemctl start ssh

# 安装Python依赖
echo "正在安装Python依赖..."
pip3 install -r requirements.txt

# 创建符号链接
echo "正在创建命令行工具..."
sudo ln -sf "$(pwd)/src/main.py" /usr/local/bin/ssh-remote-tool
sudo chmod +x /usr/local/bin/ssh-remote-tool

# 创建桌面快捷方式（可选）
if [ -d "$HOME/Desktop" ]; then
    cat > "$HOME/Desktop/SSH远程控制工具.desktop" << EOF
[Desktop Entry]
Version=1.0
Type=Application
Name=SSH远程控制工具
Comment=支持内网穿透的SSH远程控制
Exec=gnome-terminal -- $(pwd)/src/main.py
Icon=utilities-terminal
Terminal=false
Categories=Network;RemoteAccess;
EOF
    chmod +x "$HOME/Desktop/SSH远程控制工具.desktop"
    echo "已创建桌面快捷方式"
fi

echo
echo "=== 安装完成 ==="
echo
echo "使用方法:"
echo "1. 命令行运行: ssh-remote-tool"
echo "2. 或直接运行: python3 $(pwd)/src/main.py"
echo "3. 或双击桌面快捷方式"
echo
echo "注意事项:"
echo "1. 请确保中继服务器正在运行"
echo "2. 被控模式需要SSH服务正在运行"
echo "3. 首次使用可能需要生成SSH密钥对"
echo
echo "如需生成SSH密钥对，请运行:"
echo "ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa"
echo

